/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MPMatriculas.com.modelo;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
 *
 * @author peter
 */
public class Estudiante {
    public void enviarMensaje(String correo){
       try
        {
            // Propiedades de la conexión
            Properties props = new Properties();
            props.setProperty("mail.smtp.host", "smtp.gmail.com");
            props.setProperty("mail.smtp.starttls.enable", "true");
            props.setProperty("mail.smtp.port", "587");
            props.setProperty("mail.smtp.user", "integralmoderno@gmail.com");
            props.setProperty("mail.smtp.auth", "true");
            // Preparamos la sesion
            Session session = Session.getDefaultInstance(props);
            // Construimos el mensaje
            MimeMessage message = new MimeMessage(session);
            //Acudiente acudiente=ControladorAcudiente.consultarCliente(id);
            //JOptionPane.showMessageDialog(null,acudiente.getVar_email_acudiente().toString()+ ""+id);
            message.addRecipient(
                Message.RecipientType.TO,
                new InternetAddress(correo));
            message.setSubject("VOLANTE DE PAGO DE MATRICULA");
            message.setText(" ");
            message.setFileName("Volante de pago.pdf");
            // Lo enviamos.
            Transport t = session.getTransport("smtp");
            t.connect("integralmoderno@gmail.com", "123456789integralmoderno");
            t.sendMessage(message, message.getAllRecipients());
            // Cierre.
            t.close();
        }
        catch (Exception e)
        {
           
        }
    
    }
    
    public static Estudiante load(ResultSet rs) throws SQLException{
        Estudiante cli=new Estudiante();
        cli.setCodigo(rs.getString(1));
        cli.setIdentificacion(rs.getString(2));
        try {
            cli.setNombre(rs.getString(3));
        } catch (Exception ex) {
         
        }
        cli.setApellido(rs.getString(4));
        cli.setNombre_madre(rs.getString(5));
        cli.setNombre_padre(rs.getString(6));
        cli.setBarrio(rs.getString(7));
        cli.setResto_direccion(rs.getString(8));
        try {
            cli.setNumero_hermanos(String.valueOf(rs.getInt(9)));
        } catch (Exception ex) {
            
        }
        cli.setId_acudiente(rs.getString(10));
        cli.setFecha(rs.getDate(11));
        cli.setEstado(rs.getBoolean(12));
       
        
        return cli;
    }

    public Estudiante() {
        this.codigo="";
      this.identificacion="";
   this.nombre="";
      this.apellido="";
      this.nombre_madre="";
      this.nombre_padre="";
      this.barrio="";
      this.resto_direccion="";
      this.numero_hermanos=0;
      this.id_acudiente="";
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getBarrio() {
        return barrio;
    }

    public void setBarrio(String barrio) {
        this.barrio = barrio;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getId_acudiente() {
        return id_acudiente;
    }

    public void setId_acudiente(String id_acudiente) {
        this.id_acudiente = id_acudiente;
    }

    public String getIdentificacion() {
        return identificacion;
    }

    public void setIdentificacion(String identificacion) {
        this.identificacion = identificacion;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) throws Exception {
        try{
            if(nombre.trim().equals(""))
                throw new Exception("El campo de texto nomnbre esta vacio!");
        this.nombre = nombre;
        }catch(Exception e){}
        
    }

  

    public String getNombre_madre() {
        return nombre_madre;
    }

    public void setNombre_madre(String nombre_madre) {
        this.nombre_madre = nombre_madre;
    }

    public String getNombre_padre() {
        return nombre_padre;
    }

    public void setNombre_padre(String nombre_padre) {
        this.nombre_padre = nombre_padre;
    }

    public int getNumero_hermanos() {
        return numero_hermanos;
    }

    public void setNumero_hermanos(String numero_hermanos) throws Exception {
        try{
        this.numero_hermanos = Integer.parseInt(numero_hermanos);
        }catch(Exception e){
            throw new Exception("Campo de texto Numero Hermanos esta vacio!");
        }
    }

    public String getResto_direccion() {
        return resto_direccion;
    }

    public void setResto_direccion(String resto_direccion) {
        this.resto_direccion = resto_direccion;
    }

    public Estudiante(String codigo, String identificacion, String nombre, 
            String apellido, String nombre_madre, String nombre_padre, String barrio, 
                    String resto_direccion, int numero_hermanos, String nombre_acudiente, 
                            String id_acudiente) {
        this.codigo = codigo;
        this.identificacion = identificacion;
        this.nombre = nombre;
        this.apellido = apellido;
        this.nombre_madre = nombre_madre;
        this.nombre_padre = nombre_padre;
        this.barrio = barrio;
        this.resto_direccion = resto_direccion;
        this.numero_hermanos = numero_hermanos;
        this.id_acudiente = id_acudiente;
    }
     public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }
    
    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }
    
  

    
    private String codigo;
    private String identificacion;
    private String nombre;
    private String apellido;
    private String nombre_madre;
    private String nombre_padre;
    private String barrio;
    private String resto_direccion;
    private int numero_hermanos;
    private String id_acudiente;
    private Date fecha;
    private boolean estado;
   
   
    
    
    
}
